package com.tangyuan.live.controller;

import com.tangyuan.common.result.Result;
import com.tangyuan.common.result.ResultCodeEnum;
import com.tangyuan.live.entity.dto.GiveGiftDto;
import com.tangyuan.live.service.LiveGiveGiftService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import javax.validation.Valid;

@RequestMapping("live/giveGift")
@RestController
public class LiveGiveGiftController {

    @Autowired
    LiveGiveGiftService liveGiveGiftService;

    /**
     * 该方法用于处理用户赠送礼物的请求
     * 它通过调用liveGiveGiftService的giveGifts方法来实现具体的礼物赠送逻辑
     *
     * @param userId 用户的唯一标识符，通过请求头获取
     * @param dto 包含赠送礼物信息的数据传输对象，通过请求体获取，并且需要通过验证
     * @return 返回一个Result对象，其中包含操作结果的枚举类型ResultCodeEnum
     */
    @PostMapping("giveGifts")
    public Result<ResultCodeEnum> giveGifts(@RequestHeader Long userId,
                                            @RequestBody @Valid GiveGiftDto dto){
        return liveGiveGiftService.giveGifts(userId,dto);
    }
}
